// 会员卡模块相关的TypeScript类型定义

/**
 * 会员卡类型
 */
export interface CardType {
  id: number
  name: string
  description: string
  price: number // 卡片价格
  validityPeriod: number // 有效期(天)
  discount: number // 折扣率(0-1之间)
  status: number // 0-禁用, 1-正常
  createdAt: string
  updatedAt: string
}

/**
 * 会员卡信息
 */
export interface MembershipCard {
  id: number
  cardNumber: string // 卡号
  memberId: number
  memberName: string
  cardTypeId: number
  cardTypeName: string
  balance: number // 余额
  status: number // 0-未激活, 1-正常, 2-冻结, 3-过期, 4-注销
  activationDate: string // 激活日期
  expiryDate: string // 到期日期
  createdAt: string
  updatedAt: string
}

/**
 * 创建会员卡类型请求参数
 */
export interface CreateCardTypeRequest {
  name: string
  description?: string
  price: number
  validityPeriod: number
  discount: number
}

/**
 * 更新会员卡类型请求参数
 */
export interface UpdateCardTypeRequest {
  name?: string
  description?: string
  price?: number
  validityPeriod?: number
  discount?: number
  status?: number
}

/**
 * 创建会员卡请求参数
 */
export interface CreateCardRequest {
  memberId: number
  cardTypeId: number
  balance: number
  activationDate: string
  expiryDate: string
}

/**
 * 更新会员卡请求参数
 */
export interface UpdateCardRequest {
  balance?: number
  status?: number
  expiryDate?: string
}

/**
 * 充值请求参数
 */
export interface RechargeRequest {
  cardId: number
  amount: number
  paymentMethod: string // 支付方式
}

/**
 * 消费请求参数
 */
export interface ConsumeRequest {
  cardId: number
  amount: number
  description: string // 消费描述
}

/**
 * 会员卡类型列表响应数据
 */
export interface CardTypeListResponse {
  list: CardType[]
  total: number
  page: number
  pageSize: number
}

/**
 * 会员卡列表响应数据
 */
export interface CardListResponse {
  list: MembershipCard[]
  total: number
  page: number
  pageSize: number
}

/**
 * 交易记录
 */
export interface TransactionRecord {
  id: number
  cardId: number
  cardNumber: string
  type: number // 1-充值, 2-消费
  amount: number
  balance: number // 交易后余额
  description: string
  createdAt: string
}
